#pragma once

#include <cstdint>
#include "engine/platform/shader.h"

namespace kanon
{
    struct ScreenspaceBuffer
    {
    public:
        uint32_t vao;
        uint32_t vbo;

        ScreenspaceBuffer();
        void Bind();
        void Unbind();
    };

    class ScreenspaceRenderer
    {
    private:
        ScreenspaceBuffer ssbuffer;
        std::shared_ptr<Shader> shader;

    public:
        ScreenspaceRenderer();
        void Render(uint32_t texture_id);
    };
}